package com.logistics.modules.sys.dao;
import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import com.logistics.modules.sys.entity.SystemcodetableEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

/**
 * 
 * 
 * @author HURRICANE
 * @email HURRICANE@nb.com
 * @date 2022-05-11 15:29:16
 */
@Mapper
public interface SystemcodetableDao extends BaseMapper<SystemcodetableEntity> {

    List<SystemcodetableEntity> selectAllByClassificationid(@Param("classificationid") String classificationid);

    SystemcodetableEntity selectOneOfCustomerOrderStatusByItemCode(@Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneOfCargoUnitByItemCode(@Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneByCargo(@Param("itemCode") Integer itemCode);

    /**
     * @param classificationid
     * @param itemCode
     * @return {@link SystemcodetableEntity}
     */
    SystemcodetableEntity selectOneByClassificationidAndItemCode(@Param("classificationid") String classificationid, @Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneByItemCodeAndPlanMoney(@Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneByItemCodeAndPlanStatus(@Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneByItemCodeAndPlanCargoStatus(@Param("itemCode") Integer itemCode);

    SystemcodetableEntity selectOneByItemCodeAndVehicleShippingOrderStatus(@Param("itemCode") Integer itemCode);

    IPage<SystemcodetableEntity> queryPage(
            @Param("page") IPage<SystemcodetableEntity> page,
            @Param("classificationid") String classificationid
    );
}
